// console(alet)// 报错：不能在初始化之前访问
// console(aconst)//错误：不能在初始化之前访问
// let alet=1  
// const  aconst=1

// 不同作用域的示例
// const global_var= "我是全局变量";  // 全局作用域

// function outerFunction() 
// {
//     const outer_var = "我是外部函数变量"; // 函数作用域
    
//     function innerFunction() 
//     {
//         const inner_var = "我是内部函数变量"; // 函数作用域

//         console.log(global_var); // 可访问
//         console.log(outer_var);  // 可访问  
//         console.log(inner_var);  // 可访问
//     }
    
//     innerFunction();
//     console.log(global_var); // 可访问
//     console.log(outer_var);  // 可访问
//     // console.log(inner_var); // 不可访问
// }

// outerFunction();
// console.log(outerVar); //  不可访问

// 全局作用域中的变量和函数
// var global_Var = "全局var变量";
// let global_Let = "全局let变量"; 
// const global_const = "全局const变量";

// function globalFunction() {
//     console.log("我是全局函数");
// }

// // 所有作用域都可以访问
// console.log(global_var); //全局可访问
// globalFunction();       // 全局可访问

// // 在浏览器中，全局变量会成为 window 对象的属性
// // console.log(window.globalVar); // 在浏览器中可访问



// function blockScopeDemo() {
//     // 块级作用域: let 和 const
//     if (true) {
//         let block_let = "块级let";
//         const block_const = "块级const";
//         var function_var = "函数级var"; // var 无视块级作用域
        
//         console.log(block_let);    // 可访问
//         console.log(block_const);  // 可访问
//     }
    
//     // 循环中的块级作用域
//     for (let i = 0; i < 3; i++) {
//         let loop_let = `循环${i}`;
//         console.log(loop_let); // 每次迭代都有新的作用域
//     }
    
//     console.log(function_var);     // 可访问
//     console.log(block_let);    // 不可访问
//     console.log(i);           // 不可访问
// }

// blockScopeDemo();